import 'package:ideology/shared/widgets/code_input/config/editor_config.dart';
import 'package:ideology/shared/widgets/code_input/config/editor_metrics.dart';

/// 默认的编辑器配置
/// - 用于初始化文本编辑器的基本行为和交互参数
const editorConfig = EditorConfig(
  /// 一个缩进的空格数（如：2 个空格代替 Tab）
  tabSpaces: 2,

  /// 双击/三击的最大间隔时间（超过此值则不会视为连续点击）
  multiClickTimeout: Duration(milliseconds: 300),

  /// 双击/三击的允许移动范围（像素）
  /// —— 即手指/鼠标在点击过程中允许轻微抖动的距离
  multiClickSlop: 4.0,

  /// 自动滚动触发边距（像素）
  /// —— 当光标或拖拽选择靠近编辑器边缘时触发滚动
  autoScrollMargin: 20.0,

  /// 自动滚动的最大速度（像素/帧）
  autoScrollMaxSpeed: 28.0,

  /// 自动滚动的刷新间隔（一般对应屏幕帧率 60FPS ≈ 16ms）
  autoScrollTick: Duration(milliseconds: 16),

  /// 光标闪烁的周期（一次亮-灭的时长）
  caretBlinkPeriod: Duration(milliseconds: 700),

  /// 文本度量和样式的配置
  /// —— 控制字体高度、行间距等
  metrics: EditorMetrics(),
);
